Redeye is a phenomenon in flash photography where a flash is reflected within a subject's eye and appears in a photograph as a light, usually red, dot where the black pupil of the subject's eye would normally appear. The unnatural glowing red of an eye is due to internal reflections from the vascular membrane behind the retina, which is rich in blood vessels. This objectionable phenomenon is well understood to be caused in part by a small angle between the flash of the camera and the lens of the camera. This angle has decreased with the miniaturization of cameras with integral flash capabilities. Additional contributors include the relative closeness of the subject to the camera and ambient light levels.
The redeye phenomenon can be minimized by causing the iris to reduce the opening of the pupil. This is typically done with a “pre-flash”, a flash or illumination of light shortly before a flash photograph is taken. This causes the iris to close. Unfortunately, the pre-flash is an objectionable 0.2 to 0.6 seconds prior to the flash photograph. This delay is readily discernible and easily within the reaction time of a human subject. Consequently the subject may believe the pre-flash is the actual photograph and be in a less than desirable position at the time of the actual photograph. Alternately, the subject must be informed of the pre-flash, typically losing any spontaneity of the subject captured in the photograph. It is desired to have a redeye reduction technique involving no visible pre-flash.
Digital photography eliminates the need for film as the image is digitally captured and stored in a memory array for display on a display screen on the camera itself. This allows photographs to be viewed and enjoyed virtually instantaneously as opposed to waiting for film processing. Furthermore, the digitally captured image may be downloaded from the camera to other digital photography equipment, such as a suitably programmed personal computer, colour printer or “photo kiosk”, for enhanced viewing and printing. Digital photography equipment includes microprocessors for image processing and compression and camera systems control. It is recognized herein that it would be advantageous to exploit the computation capabilities of such microprocessors for performing operations to improve redeye detection and elimination.
Redeye detection in digital images is generally achieved using either direct or indirect redeye detection methods.
Direct detection involves the examination of successive regions of an image to detect redeyes. This method is not concerned with the detection of redeye pairs, nor with the prior detection of faces. Although this method detects a high percentage of redeyes, due to the fact that it treats each region independently, in some cases only one of a pair of redeyes is detected. A direct redeye detection filter is described in U.S. Pat. No. 6,407,777, and see U.S. Pat. No. 7,042,505, and US published applications 2004/0223063, 2005/0031224, 2005/0140801, 2005/0041121, 2006/0093213, 2006/0093238 and 2006/0120599, and the subject matter disclosed in each of these documents is hereby incorporated by reference.
Indirect redeye detection involves, firstly, detecting face regions within an image, and then examining those face regions to detect redeye pairs. It is desired to have an effective technique even where there are poor face detection rates. It is also desired to have a technique that works even when only single redeyes appear in a face.
An example of a well-known fast-face detection algorithm is disclosed in Viola, P. and M. Jones, Robust real time object detection. In IEEE ICCV Workshop on Statistical and quadrature. Computational Theories of Vision, Vancouver, Canada, Jul. 13, 2001; U.S. Pat. Nos. 7,050,607; 7,099,510; 7,031,499; and 7,020,337; and US published patent applications nos. 20060126938, 20060120572, 20060045337, 20050065802, and 20030108244, and the subject matter disclosed in each of these documents is hereby incorporated by reference.
In many cases the existence of one redeye does not mean that the second eye will also have a redeye, nor that the artifact will look the same. This is due to the disparity between the eyes which may result in different reflection form the camera flash. However, in many cases, both eyes have redeye artifact. Thus a problem that can arise itch existing redeye detection software is that often only one of a pair of redeyes is detected. Therefore, a resulting corrected image might include only one corrected redeye along with one uncorrected redeye. To most people this is less desirable even than leaving both redeyes uncorrected, and it is certainly undesirable compared to having two eyes each without redeye artifact.
Existing methods of processing single redeyes are disclosed in US 2005/0232490 and the article “An Efficient Automatic Redeye Detection and Correction Algorithm”, by Huitao Luo et. al., 17th International Conference on Pattern Recognition (ICPR'04)—Volume 2, pp. 883-886, each is hereby incorporated by reference. It is desired to have a more efficient and practical technique.